#ifndef XMLELEMENT_H
#define XMLELEMENT_H

#include "XML_global.h"

#include <string>
#include <vector>

#include "xmlnode.h"
#include "xmltextnode.h"
#include "xmlattribute.h"

#include "fstream"
#include "sstream"
#include "string"

using namespace std;


class XMLSHARED_EXPORT XMLElement : public XMLNode
{
    public:

    /**********************************
     *          Public
     **********************************/

        /**********************************
         *          Constructors
         **********************************/

            XMLElement(ifstream * f);

        /**********************************
         *          Methods
         **********************************/

        /**********************************
         *          Properties
         **********************************/

            string                  tagName;

    /**********************************
     *          Private
     **********************************/

        /**********************************
         *          Methods
         **********************************/

            void    LoadTag(ifstream * f);
            void    LoadContent(ifstream * f);

        /**********************************
         *          Properties
         **********************************/

            vector<XMLNode*>        childs;
            vector<AttributeNode>       attributes;

};

#endif // XMLELEMENT_H
